﻿using System;
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace UFIDA.U9.Cust.SH.SHFastShipBE
{
	
	/// <summary>
	/// 实体: 快速出货
	/// 
	/// </summary>
	[Serializable]	
	public  partial class SHFastShip : UFSoft.UBF.Business.BusinessEntity
	{





		#region Create Instance
		/// <summary>
		/// Constructor
		/// </summary>
		public SHFastShip(){
		}


	
		/// <summary>
		/// Create Instance
		/// </summary>
		/// <returns>Instance</returns>
		public  static SHFastShip Create() {
			SHFastShip entity = (SHFastShip)UFSoft.UBF.Business.Entity.Create(CurrentClassKey, null);
																																																																																																																																				 
			return entity;
		}

		/// <summary>
		/// use for Serialization
		/// </summary>
		protected SHFastShip(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
			:base(info,context)
		{
		}
		protected override bool IsMainEntity
		{
			get { return true ;}
		}
		#endregion

		#region Create Default 
		/// <summary>
		/// Create Instance
		/// </summary>
		/// <returns>Default Instance</returns>
		public static SHFastShip CreateDefault() {
		#if Test		
			return CreateDefault_Extend() ;
		#else 
		    return null;
		#endif
		}
		/// <summary>
		/// Create DefaultComponent
		/// </summary>
		/// <returns>DefaultComponent Instance</returns>
		public static SHFastShip CreateDefaultComponent(){
		#if Test		
			return CreateDefaultComponent_Extend() ;
		#else 
		    return null;
		#endif
		}

		#endregion

		#region ClassKey
		protected override string ClassKey_FullName
        {
            get { return "UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip"; }    
        }
		//private static UFSoft.UBF.PL.IClassKey _currentClassKey;
		//由于可能每次访问时的Enterprise不一样，所以每次重取.
		private static UFSoft.UBF.PL.IClassKey CurrentClassKey
		{
			get {
				return  UFSoft.UBF.PL.ClassKeyFacatory.CreateKey("UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip");
			}
		}
		


		#endregion 

		#region EntityKey
		/// <summary>
		/// Strong Class SHFastShip EntityKey 
		/// </summary>
		[Serializable()]
	    [DataContract(Name = "EntityKey", Namespace = "UFSoft.UBF.Business.BusinessEntity")]
		public new partial class EntityKey : UFSoft.UBF.Business.BusinessEntity.EntityKey
		{
			public EntityKey(long id): this(id, "UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip")
			{}
			//Construct using by freamwork.
			protected EntityKey(long id , string entityType):base(id,entityType)
			{}
			/// <summary>
			/// 得到当前Key所对应的Entity．(Session级有缓存,性能不用考虑．)
			/// </summary>
			public new SHFastShip GetEntity()
			{
				return (SHFastShip)base.GetEntity();
			}
			public static bool operator ==(EntityKey obja, EntityKey objb)
			{
				if (object.ReferenceEquals(obja, null))
				{
					if (object.ReferenceEquals(objb, null))
						return true;
					return false;
				}
				return obja.Equals(objb);
			}
			public static bool operator !=(EntityKey obja, EntityKey objb)
			{
				return !(obja == objb);
			}
			public override int GetHashCode()
			{
				return base.GetHashCode();
			}
			public override bool Equals(object obj)
			{
				return base.Equals(obj);
			}
		}
		protected override UFSoft.UBF.Business.BusinessEntity.EntityKey CreateEntityKey()
		{
			return new EntityKey(this.ID);
		}
		/// <summary>
		/// Strong Class EntityKey Property
		/// </summary>
		public new EntityKey Key
		{
			get
			{
				return base.Key as EntityKey;
			}
		}
		#endregion

		#region Finder
		/// <summary>
		/// Strong Class EntityFinder
		/// </summary>
		public new partial class EntityFinder : UFSoft.UBF.Business.BusinessEntity.EntityFinder<SHFastShip> 
		{
		    public EntityFinder():base(CurrentClassKey)
			{
			}
			public new EntityList FindAll(string opath, params UFSoft.UBF.PL.OqlParam[] oqlParameters)
			{
				return new EntityList(base.FindAll(opath, oqlParameters));                
			}
			public new EntityList FindAll(UFSoft.UBF.PL.ObjectQueryOptions options, string opath, params UFSoft.UBF.PL.OqlParam[] oqlParameters)
			{
				return new EntityList(base.FindAll(options,opath, oqlParameters));                
			}









			/// <summary>
			/// 业务主键查询参数类型
			/// </summary>
			public class BusinessKeyParameter
			{
				private System.String m_DocNo ;
				public  System.String DocNo
				{
					get { return m_DocNo ;}
					set { m_DocNo = value ;}
				}
			}
			/// <summary>
			/// 通过实体设置的业务主键进行查询 -业务主键展开方式,会受业务主键调整影响接口.建议使用另一参数类型对象接口查询．
			/// </summary>
			public SHFastShip FindByBusinessKey(  System.String docNo  )
			{
				BusinessKeyParameter　parameter = new BusinessKeyParameter() ;
				
				parameter.DocNo = docNo ;
				return this.FindByBusinessKey(parameter) ;
			}
			/// <summary>
			/// 通过实体设置的业务主键进行查询－建议使用.
			/// </summary>
			public SHFastShip FindByBusinessKey(BusinessKeyParameter parameter)
			{
                if (parameter == null)
                    throw new ArgumentException("parameter");
                System.Text.StringBuilder sbuilder = new System.Text.StringBuilder(40*1);
                UFSoft.UBF.PL.OqlParamList paramlist = new UFSoft.UBF.PL.OqlParamList();
                
								
				

				sbuilder.Append("DocNo = @DocNo");
				paramlist.Add(new UFSoft.UBF.PL.OqlParam("DocNo",parameter.DocNo));				
						
				return this.Find(sbuilder.ToString(), paramlist.ToArray());
			}
			
			/// <summary>
			/// UFIDA_U9_Cust_SH_SHFastShipBE_SHFastShip_BusinessKey_Index索引查询参数类型
			/// </summary>
			public class BusinessKeyIndexParameter
			{
				private System.String m_DocNo ;
				public  System.String DocNo
				{
					get { return m_DocNo ;}
					set { m_DocNo = value ;}
				}
			}
			
			
			/// <summary>
			/// 通过索引UFIDA_U9_Cust_SH_SHFastShipBE_SHFastShip_BusinessKey_Index进行查询(参数对象接口)
			/// </summary>
			public SHFastShip FindByBusinessKeyIndex(BusinessKeyIndexParameter parameter)
			{
                if (parameter == null)
                    throw new ArgumentException("parameter");
                System.Text.StringBuilder sbuilder = new System.Text.StringBuilder(20*1);
                UFSoft.UBF.PL.OqlParamList paramlist = new UFSoft.UBF.PL.OqlParamList();
				
				sbuilder.Append("DocNo = @DocNo");
				paramlist.Add(new UFSoft.UBF.PL.OqlParam("DocNo",parameter.DocNo));				
				return this.Find(sbuilder.ToString(), paramlist.ToArray());
			}
			
		}

		//private static EntityFinder _finder  ;

		/// <summary>
		/// Finder
		/// </summary>
		public static EntityFinder Finder {
			get {
				//if (_finder == null)
				//	_finder =  new EntityFinder() ;
				return new EntityFinder() ;
			}
		}
		#endregion
			
		#region List

		/// <summary>
		/// EntityList
		/// </summary>
		public partial class EntityList :UFSoft.UBF.Business.Entity.EntityList<SHFastShip>{
		    #region constructor 
		    /// <summary>
		    /// EntityList 无参的构造方法,用于其它特殊情况
		    /// </summary>
		    public EntityList()
		    {
		    }

		    /// <summary>
		    /// EntityList Constructor With Collection .主要用于查询返回实体集时使用.
		    /// </summary>
		    public EntityList(IList list) : base(list)
		    { 
		    }
		    
		    /// <summary>
		    ///  EntityList Constructor , used by  peresidence
		    /// </summary>
		    /// <param name="childAttrName">this EntityList's child Attribute Name</param>
		    /// <param name="parentEntity">this EntityList's Parent Entity </param>
		    /// <param name="parentAttrName">Parent Entity's Attribute Name with this EntityList's </param>
		    /// <param name="list">list </param>
		    public EntityList(string childAttrName,UFSoft.UBF.Business.BusinessEntity parentEntity, string parentAttrName, IList list)
			    :base(childAttrName,parentEntity,parentAttrName,list) 
		    { 
			
		    }

		    #endregion 
		    //用于一对多关联.	
		    internal IList InnerList
		    {
		    	//get { return this.innerList; }
		    	set {
		    		if (value != null)
		    		    this.innerList = value; 
		    	}
		    }
		    protected override bool IsMainEntity
		    {
			    get { return true ;}
		    }
		}
		#endregion
		
		#region Typeed OriginalData
		/// <summary>
		/// 当前实体对象的旧数据对象(为上次更新后的数据)
		/// </summary>
		public new EntityOriginal OriginalData
		{
			get {
				return (EntityOriginal)base.OriginalData;
			}
            protected set
            {
				base.OriginalData = value ;
            }
		}
		protected override UFSoft.UBF.Business.BusinessEntity.EntityOriginal CreateOriginalData()
		{
			return new EntityOriginal(this);
		}
		
		public new partial class EntityOriginal: UFSoft.UBF.Business.Entity.EntityOriginal
		{
		    //private SHFastShip ContainerEntity ;
		    public  new SHFastShip ContainerEntity 
		    {
				get { return  (SHFastShip)base.ContainerEntity ;}
				set { base.ContainerEntity = value ;}
		    }
		    
		    public EntityOriginal(SHFastShip container)
		    {
				if (container == null )
					throw new ArgumentNullException("container") ;
				ContainerEntity = container ;
				base.innerData = container.OldValues ;
				InitInnerData();
		    }
	




			#region member					
			
			/// <summary>
			///  OrginalData属性。只可读。
			/// ID (该属性不可为空,且无默认值)
			/// 快速出货.Key.ID
			/// </summary>
			/// <value></value>
			public  System.Int64 ID
			{
				get
				{
					System.Int64 value  = (System.Int64)base.GetValue("ID");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 创建时间 (该属性可为空,且无默认值)
			/// 快速出货.Sys.创建时间
			/// </summary>
			/// <value></value>
			public  System.DateTime CreatedOn
			{
				get
				{
					object obj = base.GetValue("CreatedOn");
					if (obj == null)
						return System.DateTime.MinValue;
					else
					       return (System.DateTime)obj;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 创建人 (该属性可为空,且无默认值)
			/// 快速出货.Sys.创建人
			/// </summary>
			/// <value></value>
			public  System.String CreatedBy
			{
				get
				{
					System.String value  = (System.String)base.GetValue("CreatedBy");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 修改时间 (该属性可为空,且无默认值)
			/// 快速出货.Sys.修改时间
			/// </summary>
			/// <value></value>
			public  System.DateTime ModifiedOn
			{
				get
				{
					object obj = base.GetValue("ModifiedOn");
					if (obj == null)
						return System.DateTime.MinValue;
					else
					       return (System.DateTime)obj;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 修改人 (该属性可为空,且无默认值)
			/// 快速出货.Sys.修改人
			/// </summary>
			/// <value></value>
			public  System.String ModifiedBy
			{
				get
				{
					System.String value  = (System.String)base.GetValue("ModifiedBy");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 事务版本 (该属性可为空,但有默认值)
			/// 快速出货.Sys.事务版本
			/// </summary>
			/// <value></value>
			public  System.Int64 SysVersion
			{
				get
				{
					System.Int64 value  = (System.Int64)base.GetValue("SysVersion");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 单据类型 (该属性不可为空,且无默认值)
			/// 快速出货.Misc.单据类型
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.SM.Ship.ShipDocType DocType
			{
				get
				{
					if (DocTypeKey == null)
						return null ;
					UFIDA.U9.SM.Ship.ShipDocType value =  (UFIDA.U9.SM.Ship.ShipDocType)DocTypeKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.SM.Ship.ShipDocType.EntityKey m_DocTypeKey ;
		/// <summary>
		/// EntityKey 属性
		/// 单据类型 的Key (该属性不可为空,且无默认值)
		/// 快速出货.Misc.单据类型
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.SM.Ship.ShipDocType.EntityKey DocTypeKey
		{
			get 
			{
				object obj = base.GetValue("DocType") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_DocTypeKey==null || m_DocTypeKey.ID != key )
					m_DocTypeKey = new UFIDA.U9.SM.Ship.ShipDocType.EntityKey(key); 
				return m_DocTypeKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 单号 (该属性不可为空,且无默认值)
			/// 快速出货.Misc.单号
			/// </summary>
			/// <value></value>
			public  System.String DocNo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("DocNo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 出货单号 (该属性可为空,且无默认值)
			/// 快速出货.Misc.出货单号
			/// </summary>
			/// <value></value>
			public  System.String ShipDocNo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("ShipDocNo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 出货单 (该属性可为空,且无默认值)
			/// 快速出货.Misc.出货单
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.SM.Ship.Ship ShipDoc
			{
				get
				{
					if (ShipDocKey == null)
						return null ;
					UFIDA.U9.SM.Ship.Ship value =  (UFIDA.U9.SM.Ship.Ship)ShipDocKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.SM.Ship.Ship.EntityKey m_ShipDocKey ;
		/// <summary>
		/// EntityKey 属性
		/// 出货单 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.出货单
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.SM.Ship.Ship.EntityKey ShipDocKey
		{
			get 
			{
				object obj = base.GetValue("ShipDoc") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_ShipDocKey==null || m_ShipDocKey.ID != key )
					m_ShipDocKey = new UFIDA.U9.SM.Ship.Ship.EntityKey(key); 
				return m_ShipDocKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 客户 (该属性不可为空,且无默认值)
			/// 快速出货.Misc.客户
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.CBO.SCM.Customer.Customer Customer
			{
				get
				{
					if (CustomerKey == null)
						return null ;
					UFIDA.U9.CBO.SCM.Customer.Customer value =  (UFIDA.U9.CBO.SCM.Customer.Customer)CustomerKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey m_CustomerKey ;
		/// <summary>
		/// EntityKey 属性
		/// 客户 的Key (该属性不可为空,且无默认值)
		/// 快速出货.Misc.客户
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey CustomerKey
		{
			get 
			{
				object obj = base.GetValue("Customer") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_CustomerKey==null || m_CustomerKey.ID != key )
					m_CustomerKey = new UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey(key); 
				return m_CustomerKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 单据日期 (该属性不可为空,且无默认值)
			/// 快速出货.Misc.单据日期
			/// </summary>
			/// <value></value>
			public  System.DateTime DocDate
			{
				get
				{
					object obj = base.GetValue("DocDate");
					if (obj == null)
						return System.DateTime.MinValue;
					else
					       return (System.DateTime)obj;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 总经销仓库 (该属性可为空,且无默认值)
			/// 快速出货.Misc.总经销仓库
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.CBO.SCM.Warehouse.Warehouse SaleWH
			{
				get
				{
					if (SaleWHKey == null)
						return null ;
					UFIDA.U9.CBO.SCM.Warehouse.Warehouse value =  (UFIDA.U9.CBO.SCM.Warehouse.Warehouse)SaleWHKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey m_SaleWHKey ;
		/// <summary>
		/// EntityKey 属性
		/// 总经销仓库 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.总经销仓库
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey SaleWHKey
		{
			get 
			{
				object obj = base.GetValue("SaleWH") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_SaleWHKey==null || m_SaleWHKey.ID != key )
					m_SaleWHKey = new UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey(key); 
				return m_SaleWHKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 直运 (该属性可为空,但有默认值)
			/// 快速出货.Misc.直运
			/// </summary>
			/// <value></value>
			public  System.Boolean IsZY
			{
				get
				{
					System.Boolean value  = (System.Boolean)base.GetValue("IsZY");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 直运客户 (该属性可为空,且无默认值)
			/// 快速出货.Misc.直运客户
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.CBO.SCM.Customer.Customer ZYCustomer
			{
				get
				{
					if (ZYCustomerKey == null)
						return null ;
					UFIDA.U9.CBO.SCM.Customer.Customer value =  (UFIDA.U9.CBO.SCM.Customer.Customer)ZYCustomerKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey m_ZYCustomerKey ;
		/// <summary>
		/// EntityKey 属性
		/// 直运客户 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.直运客户
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey ZYCustomerKey
		{
			get 
			{
				object obj = base.GetValue("ZYCustomer") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_ZYCustomerKey==null || m_ZYCustomerKey.ID != key )
					m_ZYCustomerKey = new UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey(key); 
				return m_ZYCustomerKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 销售业务类型 (该属性可为空,且无默认值)
			/// 快速出货.Misc.销售业务类型
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.Base.FlexField.ValueSet.DefineValue SaleType
			{
				get
				{
					if (SaleTypeKey == null)
						return null ;
					UFIDA.U9.Base.FlexField.ValueSet.DefineValue value =  (UFIDA.U9.Base.FlexField.ValueSet.DefineValue)SaleTypeKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.Base.FlexField.ValueSet.DefineValue.EntityKey m_SaleTypeKey ;
		/// <summary>
		/// EntityKey 属性
		/// 销售业务类型 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.销售业务类型
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.Base.FlexField.ValueSet.DefineValue.EntityKey SaleTypeKey
		{
			get 
			{
				object obj = base.GetValue("SaleType") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_SaleTypeKey==null || m_SaleTypeKey.ID != key )
					m_SaleTypeKey = new UFIDA.U9.Base.FlexField.ValueSet.DefineValue.EntityKey(key); 
				return m_SaleTypeKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 单据状态 (该属性可为空,但有默认值)
			/// 快速出货.Misc.单据状态
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.Cust.SH.SHFastShipBE.FastShipDocState DocState
			{
				get
				{

					UFIDA.U9.Cust.SH.SHFastShipBE.FastShipDocState value  = UFIDA.U9.Cust.SH.SHFastShipBE.FastShipDocState.GetFromValue(base.GetValue("DocState"));
					return value;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 运营组织 (该属性可为空,且无默认值)
			/// 快速出货.Misc.运营组织
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.Base.Organization.Organization Org
			{
				get
				{
					if (OrgKey == null)
						return null ;
					UFIDA.U9.Base.Organization.Organization value =  (UFIDA.U9.Base.Organization.Organization)OrgKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.Base.Organization.Organization.EntityKey m_OrgKey ;
		/// <summary>
		/// EntityKey 属性
		/// 运营组织 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.运营组织
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.Base.Organization.Organization.EntityKey OrgKey
		{
			get 
			{
				object obj = base.GetValue("Org") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_OrgKey==null || m_OrgKey.ID != key )
					m_OrgKey = new UFIDA.U9.Base.Organization.Organization.EntityKey(key); 
				return m_OrgKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 仓库 (该属性可为空,且无默认值)
			/// 快速出货.Misc.仓库
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.CBO.SCM.Warehouse.Warehouse WH
			{
				get
				{
					if (WHKey == null)
						return null ;
					UFIDA.U9.CBO.SCM.Warehouse.Warehouse value =  (UFIDA.U9.CBO.SCM.Warehouse.Warehouse)WHKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey m_WHKey ;
		/// <summary>
		/// EntityKey 属性
		/// 仓库 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.仓库
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey WHKey
		{
			get 
			{
				object obj = base.GetValue("WH") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_WHKey==null || m_WHKey.ID != key )
					m_WHKey = new UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey(key); 
				return m_WHKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 备注 (该属性可为空,且无默认值)
			/// 快速出货.Misc.备注
			/// </summary>
			/// <value></value>
			public  System.String Memo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("Memo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 部门 (该属性不可为空,且无默认值)
			/// 快速出货.Misc.部门
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.CBO.HR.Department.Department Dept
			{
				get
				{
					if (DeptKey == null)
						return null ;
					UFIDA.U9.CBO.HR.Department.Department value =  (UFIDA.U9.CBO.HR.Department.Department)DeptKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.CBO.HR.Department.Department.EntityKey m_DeptKey ;
		/// <summary>
		/// EntityKey 属性
		/// 部门 的Key (该属性不可为空,且无默认值)
		/// 快速出货.Misc.部门
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.HR.Department.Department.EntityKey DeptKey
		{
			get 
			{
				object obj = base.GetValue("Dept") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_DeptKey==null || m_DeptKey.ID != key )
					m_DeptKey = new UFIDA.U9.CBO.HR.Department.Department.EntityKey(key); 
				return m_DeptKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 信用免检 (该属性可为空,但有默认值)
			/// 快速出货.Misc.信用免检
			/// </summary>
			/// <value></value>
			public  System.Boolean CreditNoCheck
			{
				get
				{
					System.Boolean value  = (System.Boolean)base.GetValue("CreditNoCheck");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 信用余额 (该属性可为空,但有默认值)
			/// 快速出货.Misc.信用余额
			/// </summary>
			/// <value></value>
			public  System.Decimal Credit
			{
				get
				{
					System.Decimal value  = (System.Decimal)base.GetValue("Credit");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 审核人 (该属性可为空,且无默认值)
			/// 快速出货.Misc.审核人
			/// </summary>
			/// <value></value>
			public  System.String ApproveMan
			{
				get
				{
					System.String value  = (System.String)base.GetValue("ApproveMan");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 审核日期 (该属性可为空,且无默认值)
			/// 快速出货.Misc.审核日期
			/// </summary>
			/// <value></value>
			public  System.DateTime ApproveDate
			{
				get
				{
					object obj = base.GetValue("ApproveDate");
					if (obj == null)
						return System.DateTime.MinValue;
					else
					       return (System.DateTime)obj;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 弃审人 (该属性可为空,且无默认值)
			/// 快速出货.Misc.弃审人
			/// </summary>
			/// <value></value>
			public  System.String UnApproveMan
			{
				get
				{
					System.String value  = (System.String)base.GetValue("UnApproveMan");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 弃审日期 (该属性可为空,且无默认值)
			/// 快速出货.Misc.弃审日期
			/// </summary>
			/// <value></value>
			public  System.DateTime UnApproveDate
			{
				get
				{
					object obj = base.GetValue("UnApproveDate");
					if (obj == null)
						return System.DateTime.MinValue;
					else
					       return (System.DateTime)obj;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 总金额 (该属性可为空,但有默认值)
			/// 快速出货.Misc.总金额
			/// </summary>
			/// <value></value>
			public  System.Decimal TotalAmount
			{
				get
				{
					System.Decimal value  = (System.Decimal)base.GetValue("TotalAmount");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 消费者 (该属性可为空,且无默认值)
			/// 快速出货.Misc.消费者
			/// </summary>
			/// <value></value>
			public  System.String FinalCustomer
			{
				get
				{
					System.String value  = (System.String)base.GetValue("FinalCustomer");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 电话 (该属性可为空,且无默认值)
			/// 快速出货.Misc.电话
			/// </summary>
			/// <value></value>
			public  System.String Phone
			{
				get
				{
					System.String value  = (System.String)base.GetValue("Phone");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 详细地址 (该属性可为空,且无默认值)
			/// 快速出货.Misc.详细地址
			/// </summary>
			/// <value></value>
			public  System.String Address
			{
				get
				{
					System.String value  = (System.String)base.GetValue("Address");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 淘宝订单号 (该属性可为空,且无默认值)
			/// 快速出货.Misc.淘宝订单号
			/// </summary>
			/// <value></value>
			public  System.String TBDocNo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("TBDocNo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 经销商 (该属性可为空,且无默认值)
			/// 快速出货.Misc.经销商
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.CBO.SCM.Customer.Customer Agency
			{
				get
				{
					if (AgencyKey == null)
						return null ;
					UFIDA.U9.CBO.SCM.Customer.Customer value =  (UFIDA.U9.CBO.SCM.Customer.Customer)AgencyKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey m_AgencyKey ;
		/// <summary>
		/// EntityKey 属性
		/// 经销商 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.经销商
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey AgencyKey
		{
			get 
			{
				object obj = base.GetValue("Agency") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_AgencyKey==null || m_AgencyKey.ID != key )
					m_AgencyKey = new UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey(key); 
				return m_AgencyKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 总经销商 (该属性可为空,且无默认值)
			/// 快速出货.Misc.总经销商
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.CBO.SCM.Customer.Customer GeneralAgency
			{
				get
				{
					if (GeneralAgencyKey == null)
						return null ;
					UFIDA.U9.CBO.SCM.Customer.Customer value =  (UFIDA.U9.CBO.SCM.Customer.Customer)GeneralAgencyKey.GetEntity();
					return value ;
				}
			}
		


   		private UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey m_GeneralAgencyKey ;
		/// <summary>
		/// EntityKey 属性
		/// 总经销商 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.总经销商
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey GeneralAgencyKey
		{
			get 
			{
				object obj = base.GetValue("GeneralAgency") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_GeneralAgencyKey==null || m_GeneralAgencyKey.ID != key )
					m_GeneralAgencyKey = new UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey(key); 
				return m_GeneralAgencyKey ;
			}
		}

				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 是否自提 (该属性可为空,但有默认值)
			/// 快速出货.Misc.是否自提
			/// </summary>
			/// <value></value>
			public  System.Boolean IsZT
			{
				get
				{
					System.Boolean value  = (System.Boolean)base.GetValue("IsZT");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 淘宝成交额 (该属性可为空,但有默认值)
			/// 快速出货.Misc.淘宝成交额
			/// </summary>
			/// <value></value>
			public  System.Decimal TBAmount
			{
				get
				{
					System.Decimal value  = (System.Decimal)base.GetValue("TBAmount");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 返款日期 (该属性可为空,且无默认值)
			/// 快速出货.Misc.返款日期
			/// </summary>
			/// <value></value>
			public  System.DateTime RebatesDate
			{
				get
				{
					object obj = base.GetValue("RebatesDate");
					if (obj == null)
						return System.DateTime.MinValue;
					else
					       return (System.DateTime)obj;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 总编号 (该属性可为空,且无默认值)
			/// 快速出货.Misc.总编号
			/// </summary>
			/// <value></value>
			public  System.String TotalNo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("TotalNo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 门店单号 (该属性可为空,且无默认值)
			/// 快速出货.Misc.门店单号
			/// </summary>
			/// <value></value>
			public  System.String MDDocNo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("MDDocNo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 公司确认 (该属性可为空,但有默认值)
			/// 快速出货.Misc.公司确认
			/// </summary>
			/// <value></value>
			public  System.Boolean GSCheck
			{
				get
				{
					System.Boolean value  = (System.Boolean)base.GetValue("GSCheck");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 客户确认 (该属性可为空,但有默认值)
			/// 快速出货.Misc.客户确认
			/// </summary>
			/// <value></value>
			public  System.Boolean KHCheck
			{
				get
				{
					System.Boolean value  = (System.Boolean)base.GetValue("KHCheck");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 订单说明 (该属性可为空,且无默认值)
			/// 快速出货.Misc.订单说明
			/// </summary>
			/// <value></value>
			public  System.String MDMemo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("MDMemo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 预留 (该属性可为空,但有默认值)
			/// 快速出货.Misc.预留
			/// </summary>
			/// <value></value>
			public  System.Boolean Reserved
			{
				get
				{
					System.Boolean value  = (System.Boolean)base.GetValue("Reserved");
					return value;
						}
			}
		



		

			#endregion

			#region List member						
		
			
			private List<UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine> m_SHFastShipLine  ;
			/// <summary>
			/// 快速出货行 (该属性可为空,且无默认值)
			/// 快速出货.Misc.快速出货行
			/// </summary>
			/// <value></value>
			public  List<UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine> SHFastShipLine
			{
				get
				{
					if (m_SHFastShipLine == null)
						m_SHFastShipLine = new List<UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine>();
					m_SHFastShipLine.Clear();	
					foreach (UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine child in ContainerEntity.SHFastShipLine)
					{
						if (child.SysState != UFSoft.UBF.PL.Engine.ObjectState.Inserted)
							m_SHFastShipLine.Add(child);
					}
					foreach (UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine child in ContainerEntity.SHFastShipLine.DelLists)
					{
						m_SHFastShipLine.Add(child);
					}
					return m_SHFastShipLine;
				}
			}
			#endregion

			#region Be List member						
			#endregion



		    
		}
		#endregion 







		#region member					
		
			/// <summary>
		/// ID (该属性不可为空,且无默认值)
		/// 快速出货.Key.ID
		/// </summary>
		/// <value></value>
	 
		public new System.Int64 ID
		{
			get
			{
				System.Int64 value  = (System.Int64)base.GetValue("ID");
				return value;
				}
				set
			{
				
								base.SetValue("ID", value);
						 
			}
		}
	



		
			/// <summary>
		/// 创建时间 (该属性可为空,且无默认值)
		/// 快速出货.Sys.创建时间
		/// </summary>
		/// <value></value>
			public  System.DateTime CreatedOn
		{
			get
			{
				System.DateTime value  = (System.DateTime)base.GetValue("CreatedOn");
				return value;
				}
				set
			{
				
								base.SetValue("CreatedOn", value);
						 
			}
		}
	



		
			/// <summary>
		/// 创建人 (该属性可为空,且无默认值)
		/// 快速出货.Sys.创建人
		/// </summary>
		/// <value></value>
			public  System.String CreatedBy
		{
			get
			{
				System.String value  = (System.String)base.GetValue("CreatedBy");
				return value;
				}
				set
			{
				
								base.SetValue("CreatedBy", value);
						 
			}
		}
	



		
			/// <summary>
		/// 修改时间 (该属性可为空,且无默认值)
		/// 快速出货.Sys.修改时间
		/// </summary>
		/// <value></value>
			public  System.DateTime ModifiedOn
		{
			get
			{
				System.DateTime value  = (System.DateTime)base.GetValue("ModifiedOn");
				return value;
				}
				set
			{
				
								base.SetValue("ModifiedOn", value);
						 
			}
		}
	



		
			/// <summary>
		/// 修改人 (该属性可为空,且无默认值)
		/// 快速出货.Sys.修改人
		/// </summary>
		/// <value></value>
			public  System.String ModifiedBy
		{
			get
			{
				System.String value  = (System.String)base.GetValue("ModifiedBy");
				return value;
				}
				set
			{
				
								base.SetValue("ModifiedBy", value);
						 
			}
		}
	



		
			/// <summary>
		/// 事务版本 (该属性可为空,但有默认值)
		/// 快速出货.Sys.事务版本
		/// </summary>
		/// <value></value>
			public  System.Int64 SysVersion
		{
			get
			{
				System.Int64 value  = (System.Int64)base.GetValue("SysVersion");
				return value;
				}
				set
			{
				
								base.SetValue("SysVersion", value);
						 
			}
		}
	



		
			/// <summary>
		/// 单据类型 (该属性不可为空,且无默认值)
		/// 快速出货.Misc.单据类型
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.SM.Ship.ShipDocType DocType
		{
			get
			{
				object  obj = this.GetRelation("DocType");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.SM.Ship.ShipDocType value  = (UFIDA.U9.SM.Ship.ShipDocType)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("DocType", value);
					 
			}
		}
	


   		private UFIDA.U9.SM.Ship.ShipDocType.EntityKey m_DocTypeKey ;
		/// <summary>
		/// 单据类型 的Key (该属性不可为空,且无默认值)
		/// 快速出货.Misc.单据类型
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.SM.Ship.ShipDocType.EntityKey DocTypeKey
		{
			get 
			{
				object obj = base.GetValue("DocType") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_DocTypeKey==null || m_DocTypeKey.ID != key )
					m_DocTypeKey = new UFIDA.U9.SM.Ship.ShipDocType.EntityKey(key); 
				return m_DocTypeKey ;
			}
			set
			{	
				if (DocTypeKey==value)
					return ;
				this.SetRelation("DocType", null);
				m_DocTypeKey = value ;
				if (value != null) 
				{
					base.SetValue("DocType",value.ID);
				}
				else
					base.SetValue("DocType",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 单号 (该属性不可为空,且无默认值)
		/// 快速出货.Misc.单号
		/// </summary>
		/// <value></value>
			public  System.String DocNo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("DocNo");
				return value;
				}
				set
			{
				
								base.SetValue("DocNo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 出货单号 (该属性可为空,且无默认值)
		/// 快速出货.Misc.出货单号
		/// </summary>
		/// <value></value>
			public  System.String ShipDocNo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("ShipDocNo");
				return value;
				}
				set
			{
				
								base.SetValue("ShipDocNo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 出货单 (该属性可为空,且无默认值)
		/// 快速出货.Misc.出货单
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.SM.Ship.Ship ShipDoc
		{
			get
			{
				object  obj = this.GetRelation("ShipDoc");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.SM.Ship.Ship value  = (UFIDA.U9.SM.Ship.Ship)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("ShipDoc", value);
					 
			}
		}
	


   		private UFIDA.U9.SM.Ship.Ship.EntityKey m_ShipDocKey ;
		/// <summary>
		/// 出货单 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.出货单
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.SM.Ship.Ship.EntityKey ShipDocKey
		{
			get 
			{
				object obj = base.GetValue("ShipDoc") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_ShipDocKey==null || m_ShipDocKey.ID != key )
					m_ShipDocKey = new UFIDA.U9.SM.Ship.Ship.EntityKey(key); 
				return m_ShipDocKey ;
			}
			set
			{	
				if (ShipDocKey==value)
					return ;
				this.SetRelation("ShipDoc", null);
				m_ShipDocKey = value ;
				if (value != null) 
				{
					base.SetValue("ShipDoc",value.ID);
				}
				else
					base.SetValue("ShipDoc",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 客户 (该属性不可为空,且无默认值)
		/// 快速出货.Misc.客户
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.CBO.SCM.Customer.Customer Customer
		{
			get
			{
				object  obj = this.GetRelation("Customer");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.CBO.SCM.Customer.Customer value  = (UFIDA.U9.CBO.SCM.Customer.Customer)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("Customer", value);
					 
			}
		}
	


   		private UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey m_CustomerKey ;
		/// <summary>
		/// 客户 的Key (该属性不可为空,且无默认值)
		/// 快速出货.Misc.客户
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey CustomerKey
		{
			get 
			{
				object obj = base.GetValue("Customer") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_CustomerKey==null || m_CustomerKey.ID != key )
					m_CustomerKey = new UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey(key); 
				return m_CustomerKey ;
			}
			set
			{	
				if (CustomerKey==value)
					return ;
				this.SetRelation("Customer", null);
				m_CustomerKey = value ;
				if (value != null) 
				{
					base.SetValue("Customer",value.ID);
				}
				else
					base.SetValue("Customer",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 单据日期 (该属性不可为空,且无默认值)
		/// 快速出货.Misc.单据日期
		/// </summary>
		/// <value></value>
			public  System.DateTime DocDate
		{
			get
			{
				System.DateTime value  = (System.DateTime)base.GetValue("DocDate");
				return value;
				}
				set
			{
				
								base.SetValue("DocDate", value);
						 
			}
		}
	



		
			/// <summary>
		/// 总经销仓库 (该属性可为空,且无默认值)
		/// 快速出货.Misc.总经销仓库
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.CBO.SCM.Warehouse.Warehouse SaleWH
		{
			get
			{
				object  obj = this.GetRelation("SaleWH");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.CBO.SCM.Warehouse.Warehouse value  = (UFIDA.U9.CBO.SCM.Warehouse.Warehouse)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("SaleWH", value);
					 
			}
		}
	


   		private UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey m_SaleWHKey ;
		/// <summary>
		/// 总经销仓库 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.总经销仓库
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey SaleWHKey
		{
			get 
			{
				object obj = base.GetValue("SaleWH") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_SaleWHKey==null || m_SaleWHKey.ID != key )
					m_SaleWHKey = new UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey(key); 
				return m_SaleWHKey ;
			}
			set
			{	
				if (SaleWHKey==value)
					return ;
				this.SetRelation("SaleWH", null);
				m_SaleWHKey = value ;
				if (value != null) 
				{
					base.SetValue("SaleWH",value.ID);
				}
				else
					base.SetValue("SaleWH",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 直运 (该属性可为空,但有默认值)
		/// 快速出货.Misc.直运
		/// </summary>
		/// <value></value>
			public  System.Boolean IsZY
		{
			get
			{
				System.Boolean value  = (System.Boolean)base.GetValue("IsZY");
				return value;
				}
				set
			{
				
								base.SetValue("IsZY", value);
						 
			}
		}
	



		
			/// <summary>
		/// 直运客户 (该属性可为空,且无默认值)
		/// 快速出货.Misc.直运客户
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.CBO.SCM.Customer.Customer ZYCustomer
		{
			get
			{
				object  obj = this.GetRelation("ZYCustomer");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.CBO.SCM.Customer.Customer value  = (UFIDA.U9.CBO.SCM.Customer.Customer)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("ZYCustomer", value);
					 
			}
		}
	


   		private UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey m_ZYCustomerKey ;
		/// <summary>
		/// 直运客户 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.直运客户
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey ZYCustomerKey
		{
			get 
			{
				object obj = base.GetValue("ZYCustomer") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_ZYCustomerKey==null || m_ZYCustomerKey.ID != key )
					m_ZYCustomerKey = new UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey(key); 
				return m_ZYCustomerKey ;
			}
			set
			{	
				if (ZYCustomerKey==value)
					return ;
				this.SetRelation("ZYCustomer", null);
				m_ZYCustomerKey = value ;
				if (value != null) 
				{
					base.SetValue("ZYCustomer",value.ID);
				}
				else
					base.SetValue("ZYCustomer",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 销售业务类型 (该属性可为空,且无默认值)
		/// 快速出货.Misc.销售业务类型
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.Base.FlexField.ValueSet.DefineValue SaleType
		{
			get
			{
				object  obj = this.GetRelation("SaleType");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.Base.FlexField.ValueSet.DefineValue value  = (UFIDA.U9.Base.FlexField.ValueSet.DefineValue)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("SaleType", value);
					 
			}
		}
	


   		private UFIDA.U9.Base.FlexField.ValueSet.DefineValue.EntityKey m_SaleTypeKey ;
		/// <summary>
		/// 销售业务类型 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.销售业务类型
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.Base.FlexField.ValueSet.DefineValue.EntityKey SaleTypeKey
		{
			get 
			{
				object obj = base.GetValue("SaleType") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_SaleTypeKey==null || m_SaleTypeKey.ID != key )
					m_SaleTypeKey = new UFIDA.U9.Base.FlexField.ValueSet.DefineValue.EntityKey(key); 
				return m_SaleTypeKey ;
			}
			set
			{	
				if (SaleTypeKey==value)
					return ;
				this.SetRelation("SaleType", null);
				m_SaleTypeKey = value ;
				if (value != null) 
				{
					base.SetValue("SaleType",value.ID);
				}
				else
					base.SetValue("SaleType",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 单据状态 (该属性可为空,但有默认值)
		/// 快速出货.Misc.单据状态
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.Cust.SH.SHFastShipBE.FastShipDocState DocState
		{
			get
			{

				UFIDA.U9.Cust.SH.SHFastShipBE.FastShipDocState value  = UFIDA.U9.Cust.SH.SHFastShipBE.FastShipDocState.GetFromValue(base.GetValue("DocState"));
				return value;
			}
				set
			{
				
				if (value == null)
					base.SetValue("DocState",UFIDA.U9.Cust.SH.SHFastShipBE.FastShipDocState.Empty.Value);
				else
					base.SetValue("DocState",value.Value);
					 
			}
		}
	



		
			/// <summary>
		/// 运营组织 (该属性可为空,且无默认值)
		/// 快速出货.Misc.运营组织
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.Base.Organization.Organization Org
		{
			get
			{
				object  obj = this.GetRelation("Org");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.Base.Organization.Organization value  = (UFIDA.U9.Base.Organization.Organization)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("Org", value);
					 
			}
		}
	


   		private UFIDA.U9.Base.Organization.Organization.EntityKey m_OrgKey ;
		/// <summary>
		/// 运营组织 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.运营组织
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.Base.Organization.Organization.EntityKey OrgKey
		{
			get 
			{
				object obj = base.GetValue("Org") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_OrgKey==null || m_OrgKey.ID != key )
					m_OrgKey = new UFIDA.U9.Base.Organization.Organization.EntityKey(key); 
				return m_OrgKey ;
			}
			set
			{	
				if (OrgKey==value)
					return ;
				this.SetRelation("Org", null);
				m_OrgKey = value ;
				if (value != null) 
				{
					base.SetValue("Org",value.ID);
				}
				else
					base.SetValue("Org",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 仓库 (该属性可为空,且无默认值)
		/// 快速出货.Misc.仓库
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.CBO.SCM.Warehouse.Warehouse WH
		{
			get
			{
				object  obj = this.GetRelation("WH");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.CBO.SCM.Warehouse.Warehouse value  = (UFIDA.U9.CBO.SCM.Warehouse.Warehouse)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("WH", value);
					 
			}
		}
	


   		private UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey m_WHKey ;
		/// <summary>
		/// 仓库 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.仓库
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey WHKey
		{
			get 
			{
				object obj = base.GetValue("WH") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_WHKey==null || m_WHKey.ID != key )
					m_WHKey = new UFIDA.U9.CBO.SCM.Warehouse.Warehouse.EntityKey(key); 
				return m_WHKey ;
			}
			set
			{	
				if (WHKey==value)
					return ;
				this.SetRelation("WH", null);
				m_WHKey = value ;
				if (value != null) 
				{
					base.SetValue("WH",value.ID);
				}
				else
					base.SetValue("WH",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 备注 (该属性可为空,且无默认值)
		/// 快速出货.Misc.备注
		/// </summary>
		/// <value></value>
			public  System.String Memo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("Memo");
				return value;
				}
				set
			{
				
								base.SetValue("Memo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 部门 (该属性不可为空,且无默认值)
		/// 快速出货.Misc.部门
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.CBO.HR.Department.Department Dept
		{
			get
			{
				object  obj = this.GetRelation("Dept");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.CBO.HR.Department.Department value  = (UFIDA.U9.CBO.HR.Department.Department)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("Dept", value);
					 
			}
		}
	


   		private UFIDA.U9.CBO.HR.Department.Department.EntityKey m_DeptKey ;
		/// <summary>
		/// 部门 的Key (该属性不可为空,且无默认值)
		/// 快速出货.Misc.部门
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.HR.Department.Department.EntityKey DeptKey
		{
			get 
			{
				object obj = base.GetValue("Dept") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_DeptKey==null || m_DeptKey.ID != key )
					m_DeptKey = new UFIDA.U9.CBO.HR.Department.Department.EntityKey(key); 
				return m_DeptKey ;
			}
			set
			{	
				if (DeptKey==value)
					return ;
				this.SetRelation("Dept", null);
				m_DeptKey = value ;
				if (value != null) 
				{
					base.SetValue("Dept",value.ID);
				}
				else
					base.SetValue("Dept",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 信用免检 (该属性可为空,但有默认值)
		/// 快速出货.Misc.信用免检
		/// </summary>
		/// <value></value>
			public  System.Boolean CreditNoCheck
		{
			get
			{
				System.Boolean value  = (System.Boolean)base.GetValue("CreditNoCheck");
				return value;
				}
				set
			{
				
								base.SetValue("CreditNoCheck", value);
						 
			}
		}
	



		
			/// <summary>
		/// 信用余额 (该属性可为空,但有默认值)
		/// 快速出货.Misc.信用余额
		/// </summary>
		/// <value></value>
			public  System.Decimal Credit
		{
			get
			{
				System.Decimal value  = (System.Decimal)base.GetValue("Credit");
				return value;
				}
				set
			{
				
								base.SetValue("Credit", value);
						 
			}
		}
	



		
			/// <summary>
		/// 审核人 (该属性可为空,且无默认值)
		/// 快速出货.Misc.审核人
		/// </summary>
		/// <value></value>
			public  System.String ApproveMan
		{
			get
			{
				System.String value  = (System.String)base.GetValue("ApproveMan");
				return value;
				}
				set
			{
				
								base.SetValue("ApproveMan", value);
						 
			}
		}
	



		
			/// <summary>
		/// 审核日期 (该属性可为空,且无默认值)
		/// 快速出货.Misc.审核日期
		/// </summary>
		/// <value></value>
			public  System.DateTime ApproveDate
		{
			get
			{
				System.DateTime value  = (System.DateTime)base.GetValue("ApproveDate");
				return value;
				}
				set
			{
				
								base.SetValue("ApproveDate", value);
						 
			}
		}
	



		
			/// <summary>
		/// 弃审人 (该属性可为空,且无默认值)
		/// 快速出货.Misc.弃审人
		/// </summary>
		/// <value></value>
			public  System.String UnApproveMan
		{
			get
			{
				System.String value  = (System.String)base.GetValue("UnApproveMan");
				return value;
				}
				set
			{
				
								base.SetValue("UnApproveMan", value);
						 
			}
		}
	



		
			/// <summary>
		/// 弃审日期 (该属性可为空,且无默认值)
		/// 快速出货.Misc.弃审日期
		/// </summary>
		/// <value></value>
			public  System.DateTime UnApproveDate
		{
			get
			{
				System.DateTime value  = (System.DateTime)base.GetValue("UnApproveDate");
				return value;
				}
				set
			{
				
								base.SetValue("UnApproveDate", value);
						 
			}
		}
	



		
			/// <summary>
		/// 总金额 (该属性可为空,但有默认值)
		/// 快速出货.Misc.总金额
		/// </summary>
		/// <value></value>
			public  System.Decimal TotalAmount
		{
			get
			{
				System.Decimal value  = (System.Decimal)base.GetValue("TotalAmount");
				return value;
				}
				set
			{
				
								base.SetValue("TotalAmount", value);
						 
			}
		}
	



		
			/// <summary>
		/// 消费者 (该属性可为空,且无默认值)
		/// 快速出货.Misc.消费者
		/// </summary>
		/// <value></value>
			public  System.String FinalCustomer
		{
			get
			{
				System.String value  = (System.String)base.GetValue("FinalCustomer");
				return value;
				}
				set
			{
				
								base.SetValue("FinalCustomer", value);
						 
			}
		}
	



		
			/// <summary>
		/// 电话 (该属性可为空,且无默认值)
		/// 快速出货.Misc.电话
		/// </summary>
		/// <value></value>
			public  System.String Phone
		{
			get
			{
				System.String value  = (System.String)base.GetValue("Phone");
				return value;
				}
				set
			{
				
								base.SetValue("Phone", value);
						 
			}
		}
	



		
			/// <summary>
		/// 详细地址 (该属性可为空,且无默认值)
		/// 快速出货.Misc.详细地址
		/// </summary>
		/// <value></value>
			public  System.String Address
		{
			get
			{
				System.String value  = (System.String)base.GetValue("Address");
				return value;
				}
				set
			{
				
								base.SetValue("Address", value);
						 
			}
		}
	



		
			/// <summary>
		/// 淘宝订单号 (该属性可为空,且无默认值)
		/// 快速出货.Misc.淘宝订单号
		/// </summary>
		/// <value></value>
			public  System.String TBDocNo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("TBDocNo");
				return value;
				}
				set
			{
				
								base.SetValue("TBDocNo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 经销商 (该属性可为空,且无默认值)
		/// 快速出货.Misc.经销商
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.CBO.SCM.Customer.Customer Agency
		{
			get
			{
				object  obj = this.GetRelation("Agency");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.CBO.SCM.Customer.Customer value  = (UFIDA.U9.CBO.SCM.Customer.Customer)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("Agency", value);
					 
			}
		}
	


   		private UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey m_AgencyKey ;
		/// <summary>
		/// 经销商 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.经销商
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey AgencyKey
		{
			get 
			{
				object obj = base.GetValue("Agency") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_AgencyKey==null || m_AgencyKey.ID != key )
					m_AgencyKey = new UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey(key); 
				return m_AgencyKey ;
			}
			set
			{	
				if (AgencyKey==value)
					return ;
				this.SetRelation("Agency", null);
				m_AgencyKey = value ;
				if (value != null) 
				{
					base.SetValue("Agency",value.ID);
				}
				else
					base.SetValue("Agency",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 总经销商 (该属性可为空,且无默认值)
		/// 快速出货.Misc.总经销商
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.CBO.SCM.Customer.Customer GeneralAgency
		{
			get
			{
				object  obj = this.GetRelation("GeneralAgency");
				if (obj == null)
				{
					return null ;
				}
				else
				{
					UFIDA.U9.CBO.SCM.Customer.Customer value  = (UFIDA.U9.CBO.SCM.Customer.Customer)obj;
					return value;
				 }
			}
				set
			{
				
				this.SetRelation("GeneralAgency", value);
					 
			}
		}
	


   		private UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey m_GeneralAgencyKey ;
		/// <summary>
		/// 总经销商 的Key (该属性可为空,且无默认值)
		/// 快速出货.Misc.总经销商
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey GeneralAgencyKey
		{
			get 
			{
				object obj = base.GetValue("GeneralAgency") ;
				if (obj == null || (Int64)obj==UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag || (Int64)obj==0)
					return null ;
				Int64 key = (System.Int64)obj ;
				if (m_GeneralAgencyKey==null || m_GeneralAgencyKey.ID != key )
					m_GeneralAgencyKey = new UFIDA.U9.CBO.SCM.Customer.Customer.EntityKey(key); 
				return m_GeneralAgencyKey ;
			}
			set
			{	
				if (GeneralAgencyKey==value)
					return ;
				this.SetRelation("GeneralAgency", null);
				m_GeneralAgencyKey = value ;
				if (value != null) 
				{
					base.SetValue("GeneralAgency",value.ID);
				}
				else
					base.SetValue("GeneralAgency",UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag);
			}
		}

		
			/// <summary>
		/// 是否自提 (该属性可为空,但有默认值)
		/// 快速出货.Misc.是否自提
		/// </summary>
		/// <value></value>
			public  System.Boolean IsZT
		{
			get
			{
				System.Boolean value  = (System.Boolean)base.GetValue("IsZT");
				return value;
				}
				set
			{
				
								base.SetValue("IsZT", value);
						 
			}
		}
	



		
			/// <summary>
		/// 淘宝成交额 (该属性可为空,但有默认值)
		/// 快速出货.Misc.淘宝成交额
		/// </summary>
		/// <value></value>
			public  System.Decimal TBAmount
		{
			get
			{
				System.Decimal value  = (System.Decimal)base.GetValue("TBAmount");
				return value;
				}
				set
			{
				
								base.SetValue("TBAmount", value);
						 
			}
		}
	



		
			/// <summary>
		/// 返款日期 (该属性可为空,且无默认值)
		/// 快速出货.Misc.返款日期
		/// </summary>
		/// <value></value>
			public  System.DateTime RebatesDate
		{
			get
			{
				System.DateTime value  = (System.DateTime)base.GetValue("RebatesDate");
				return value;
				}
				set
			{
				
								base.SetValue("RebatesDate", value);
						 
			}
		}
	



		
			/// <summary>
		/// 总编号 (该属性可为空,且无默认值)
		/// 快速出货.Misc.总编号
		/// </summary>
		/// <value></value>
			public  System.String TotalNo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("TotalNo");
				return value;
				}
				set
			{
				
								base.SetValue("TotalNo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 门店单号 (该属性可为空,且无默认值)
		/// 快速出货.Misc.门店单号
		/// </summary>
		/// <value></value>
			public  System.String MDDocNo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("MDDocNo");
				return value;
				}
				set
			{
				
								base.SetValue("MDDocNo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 公司确认 (该属性可为空,但有默认值)
		/// 快速出货.Misc.公司确认
		/// </summary>
		/// <value></value>
			public  System.Boolean GSCheck
		{
			get
			{
				System.Boolean value  = (System.Boolean)base.GetValue("GSCheck");
				return value;
				}
				set
			{
				
								base.SetValue("GSCheck", value);
						 
			}
		}
	



		
			/// <summary>
		/// 客户确认 (该属性可为空,但有默认值)
		/// 快速出货.Misc.客户确认
		/// </summary>
		/// <value></value>
			public  System.Boolean KHCheck
		{
			get
			{
				System.Boolean value  = (System.Boolean)base.GetValue("KHCheck");
				return value;
				}
				set
			{
				
								base.SetValue("KHCheck", value);
						 
			}
		}
	



		
			/// <summary>
		/// 订单说明 (该属性可为空,且无默认值)
		/// 快速出货.Misc.订单说明
		/// </summary>
		/// <value></value>
			public  System.String MDMemo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("MDMemo");
				return value;
				}
				set
			{
				
								base.SetValue("MDMemo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 预留 (该属性可为空,但有默认值)
		/// 快速出货.Misc.预留
		/// </summary>
		/// <value></value>
			public  System.Boolean Reserved
		{
			get
			{
				System.Boolean value  = (System.Boolean)base.GetValue("Reserved");
				return value;
				}
				set
			{
				
								base.SetValue("Reserved", value);
						 
			}
		}
	



	

		#endregion

		#region List member						
	
		
		private UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine.EntityList m_SHFastShipLine  ;
		/// <summary>
		/// 快速出货行 (该属性可为空,且无默认值)
		/// 快速出货.Misc.快速出货行
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine.EntityList SHFastShipLine
		{
			get
			{
				if (m_SHFastShipLine == null)
					m_SHFastShipLine = new UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine.EntityList("SHFastShip",this,"SHFastShipLine",(IList)this.GetRelation("SHFastShipLine"));
				else
					m_SHFastShipLine.InnerList = (IList)this.GetRelation("SHFastShipLine");
				return m_SHFastShipLine;
			}
		}
		#endregion

		#region Be List member						
		#endregion
		
		#region ModelResource 其余去除，保留EntityName
		/// <summary>
		/// Entity的显示名称资源-请使用EntityRes.GetResource(EntityRes.BE_FullName)的方式取 Entity的显示名称资源.
		/// </summary>
		[Obsolete("")]
		public  string Res_EntityName {	get {return Res_EntityNameS ;}	}
		/// <summary>
		/// Entity的显示名称资源-请使用EntityRes.GetResource(EntityRes.BE_FullName)的方式取 Entity的显示名称资源.
		/// </summary>
		[Obsolete("")]
		public  static string Res_EntityNameS {	get {return EntityRes.GetResource("UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip")  ;}	}
		#endregion 		

		#region ModelResource,这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource()内部类的方式取资源
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ID")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ID　{ get { return EntityRes.GetResource("ID");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("CreatedOn")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_CreatedOn　{ get { return EntityRes.GetResource("CreatedOn");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("CreatedBy")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_CreatedBy　{ get { return EntityRes.GetResource("CreatedBy");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ModifiedOn")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ModifiedOn　{ get { return EntityRes.GetResource("ModifiedOn");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ModifiedBy")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ModifiedBy　{ get { return EntityRes.GetResource("ModifiedBy");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("SysVersion")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_SysVersion　{ get { return EntityRes.GetResource("SysVersion");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("DocType")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_DocType　{ get { return EntityRes.GetResource("DocType");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("DocNo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_DocNo　{ get { return EntityRes.GetResource("DocNo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ShipDocNo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ShipDocNo　{ get { return EntityRes.GetResource("ShipDocNo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ShipDoc")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ShipDoc　{ get { return EntityRes.GetResource("ShipDoc");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Customer")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Customer　{ get { return EntityRes.GetResource("Customer");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("DocDate")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_DocDate　{ get { return EntityRes.GetResource("DocDate");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("SaleWH")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_SaleWH　{ get { return EntityRes.GetResource("SaleWH");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("IsZY")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_IsZY　{ get { return EntityRes.GetResource("IsZY");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ZYCustomer")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ZYCustomer　{ get { return EntityRes.GetResource("ZYCustomer");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("SaleType")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_SaleType　{ get { return EntityRes.GetResource("SaleType");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("DocState")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_DocState　{ get { return EntityRes.GetResource("DocState");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Org")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Org　{ get { return EntityRes.GetResource("Org");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("SHFastShipLine")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_SHFastShipLine　{ get { return EntityRes.GetResource("SHFastShipLine");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("WH")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_WH　{ get { return EntityRes.GetResource("WH");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Memo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Memo　{ get { return EntityRes.GetResource("Memo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Dept")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Dept　{ get { return EntityRes.GetResource("Dept");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("CreditNoCheck")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_CreditNoCheck　{ get { return EntityRes.GetResource("CreditNoCheck");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Credit")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Credit　{ get { return EntityRes.GetResource("Credit");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ApproveMan")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ApproveMan　{ get { return EntityRes.GetResource("ApproveMan");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ApproveDate")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ApproveDate　{ get { return EntityRes.GetResource("ApproveDate");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("UnApproveMan")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_UnApproveMan　{ get { return EntityRes.GetResource("UnApproveMan");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("UnApproveDate")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_UnApproveDate　{ get { return EntityRes.GetResource("UnApproveDate");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("TotalAmount")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_TotalAmount　{ get { return EntityRes.GetResource("TotalAmount");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("FinalCustomer")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_FinalCustomer　{ get { return EntityRes.GetResource("FinalCustomer");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Phone")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Phone　{ get { return EntityRes.GetResource("Phone");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Address")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Address　{ get { return EntityRes.GetResource("Address");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("TBDocNo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_TBDocNo　{ get { return EntityRes.GetResource("TBDocNo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Agency")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Agency　{ get { return EntityRes.GetResource("Agency");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("GeneralAgency")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_GeneralAgency　{ get { return EntityRes.GetResource("GeneralAgency");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("IsZT")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_IsZT　{ get { return EntityRes.GetResource("IsZT");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("TBAmount")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_TBAmount　{ get { return EntityRes.GetResource("TBAmount");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("RebatesDate")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_RebatesDate　{ get { return EntityRes.GetResource("RebatesDate");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("TotalNo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_TotalNo　{ get { return EntityRes.GetResource("TotalNo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("MDDocNo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_MDDocNo　{ get { return EntityRes.GetResource("MDDocNo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("GSCheck")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_GSCheck　{ get { return EntityRes.GetResource("GSCheck");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("KHCheck")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_KHCheck　{ get { return EntityRes.GetResource("KHCheck");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("MDMemo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_MDMemo　{ get { return EntityRes.GetResource("MDMemo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Reserved")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Reserved　{ get { return EntityRes.GetResource("Reserved");　}　}
		#endregion 



		#region EntityResource 实体的属性名称及相应显示名称资源访问方法
		public class EntityRes
		{
			/// <summary>
			/// EntityName的名称
			/// </summary>
			public static string BE_Name { get { return "SHFastShip";　}　}
			
			/// <summary>
			/// Entity　的全名. 
			/// </summary>
			public static string BE_FullName { get { return "UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip";　}　}
		
			/// <summary>
			/// 属性: ID 的名称
			/// </summary>
			public static string ID　{ get { return "ID";　}　}
				
			/// <summary>
			/// 属性: 创建时间 的名称
			/// </summary>
			public static string CreatedOn　{ get { return "CreatedOn";　}　}
				
			/// <summary>
			/// 属性: 创建人 的名称
			/// </summary>
			public static string CreatedBy　{ get { return "CreatedBy";　}　}
				
			/// <summary>
			/// 属性: 修改时间 的名称
			/// </summary>
			public static string ModifiedOn　{ get { return "ModifiedOn";　}　}
				
			/// <summary>
			/// 属性: 修改人 的名称
			/// </summary>
			public static string ModifiedBy　{ get { return "ModifiedBy";　}　}
				
			/// <summary>
			/// 属性: 事务版本 的名称
			/// </summary>
			public static string SysVersion　{ get { return "SysVersion";　}　}
				
			/// <summary>
			/// 属性: 单据类型 的名称
			/// </summary>
			public static string DocType　{ get { return "DocType";　}　}
				
			/// <summary>
			/// 属性: 单号 的名称
			/// </summary>
			public static string DocNo　{ get { return "DocNo";　}　}
				
			/// <summary>
			/// 属性: 出货单号 的名称
			/// </summary>
			public static string ShipDocNo　{ get { return "ShipDocNo";　}　}
				
			/// <summary>
			/// 属性: 出货单 的名称
			/// </summary>
			public static string ShipDoc　{ get { return "ShipDoc";　}　}
				
			/// <summary>
			/// 属性: 客户 的名称
			/// </summary>
			public static string Customer　{ get { return "Customer";　}　}
				
			/// <summary>
			/// 属性: 单据日期 的名称
			/// </summary>
			public static string DocDate　{ get { return "DocDate";　}　}
				
			/// <summary>
			/// 属性: 总经销仓库 的名称
			/// </summary>
			public static string SaleWH　{ get { return "SaleWH";　}　}
				
			/// <summary>
			/// 属性: 直运 的名称
			/// </summary>
			public static string IsZY　{ get { return "IsZY";　}　}
				
			/// <summary>
			/// 属性: 直运客户 的名称
			/// </summary>
			public static string ZYCustomer　{ get { return "ZYCustomer";　}　}
				
			/// <summary>
			/// 属性: 销售业务类型 的名称
			/// </summary>
			public static string SaleType　{ get { return "SaleType";　}　}
				
			/// <summary>
			/// 属性: 单据状态 的名称
			/// </summary>
			public static string DocState　{ get { return "DocState";　}　}
				
			/// <summary>
			/// 属性: 运营组织 的名称
			/// </summary>
			public static string Org　{ get { return "Org";　}　}
				
			/// <summary>
			/// 属性: 快速出货行 的名称
			/// </summary>
			public static string SHFastShipLine　{ get { return "SHFastShipLine";　}　}
				
			/// <summary>
			/// 属性: 仓库 的名称
			/// </summary>
			public static string WH　{ get { return "WH";　}　}
				
			/// <summary>
			/// 属性: 备注 的名称
			/// </summary>
			public static string Memo　{ get { return "Memo";　}　}
				
			/// <summary>
			/// 属性: 部门 的名称
			/// </summary>
			public static string Dept　{ get { return "Dept";　}　}
				
			/// <summary>
			/// 属性: 信用免检 的名称
			/// </summary>
			public static string CreditNoCheck　{ get { return "CreditNoCheck";　}　}
				
			/// <summary>
			/// 属性: 信用余额 的名称
			/// </summary>
			public static string Credit　{ get { return "Credit";　}　}
				
			/// <summary>
			/// 属性: 审核人 的名称
			/// </summary>
			public static string ApproveMan　{ get { return "ApproveMan";　}　}
				
			/// <summary>
			/// 属性: 审核日期 的名称
			/// </summary>
			public static string ApproveDate　{ get { return "ApproveDate";　}　}
				
			/// <summary>
			/// 属性: 弃审人 的名称
			/// </summary>
			public static string UnApproveMan　{ get { return "UnApproveMan";　}　}
				
			/// <summary>
			/// 属性: 弃审日期 的名称
			/// </summary>
			public static string UnApproveDate　{ get { return "UnApproveDate";　}　}
				
			/// <summary>
			/// 属性: 总金额 的名称
			/// </summary>
			public static string TotalAmount　{ get { return "TotalAmount";　}　}
				
			/// <summary>
			/// 属性: 消费者 的名称
			/// </summary>
			public static string FinalCustomer　{ get { return "FinalCustomer";　}　}
				
			/// <summary>
			/// 属性: 电话 的名称
			/// </summary>
			public static string Phone　{ get { return "Phone";　}　}
				
			/// <summary>
			/// 属性: 详细地址 的名称
			/// </summary>
			public static string Address　{ get { return "Address";　}　}
				
			/// <summary>
			/// 属性: 淘宝订单号 的名称
			/// </summary>
			public static string TBDocNo　{ get { return "TBDocNo";　}　}
				
			/// <summary>
			/// 属性: 经销商 的名称
			/// </summary>
			public static string Agency　{ get { return "Agency";　}　}
				
			/// <summary>
			/// 属性: 总经销商 的名称
			/// </summary>
			public static string GeneralAgency　{ get { return "GeneralAgency";　}　}
				
			/// <summary>
			/// 属性: 是否自提 的名称
			/// </summary>
			public static string IsZT　{ get { return "IsZT";　}　}
				
			/// <summary>
			/// 属性: 淘宝成交额 的名称
			/// </summary>
			public static string TBAmount　{ get { return "TBAmount";　}　}
				
			/// <summary>
			/// 属性: 返款日期 的名称
			/// </summary>
			public static string RebatesDate　{ get { return "RebatesDate";　}　}
				
			/// <summary>
			/// 属性: 总编号 的名称
			/// </summary>
			public static string TotalNo　{ get { return "TotalNo";　}　}
				
			/// <summary>
			/// 属性: 门店单号 的名称
			/// </summary>
			public static string MDDocNo　{ get { return "MDDocNo";　}　}
				
			/// <summary>
			/// 属性: 公司确认 的名称
			/// </summary>
			public static string GSCheck　{ get { return "GSCheck";　}　}
				
			/// <summary>
			/// 属性: 客户确认 的名称
			/// </summary>
			public static string KHCheck　{ get { return "KHCheck";　}　}
				
			/// <summary>
			/// 属性: 订单说明 的名称
			/// </summary>
			public static string MDMemo　{ get { return "MDMemo";　}　}
				
			/// <summary>
			/// 属性: 预留 的名称
			/// </summary>
			public static string Reserved　{ get { return "Reserved";　}　}
		
			/// <summary>
			/// 获取显示名称资源方法
			/// </summary>
			public static string GetResource(String attrName){
				if (attrName == BE_Name || attrName== BE_FullName)
					return UFSoft.UBF.Business.Tool.ExtendHelpAPI.GetEntityResource(BE_FullName);
																																																																																								
				return UFSoft.UBF.Business.Tool.ExtendHelpAPI.GetAttrResource(BE_FullName, attrName);
			}

		}
		#endregion 


		#region EntityObjectBuilder 持久化性能优化
        private Dictionary<string, string> multiLangAttrs = null;
        private Dictionary<string, string> exdMultiLangAttrs = null;
        private string col_ID_Name = string.Empty;

        public override  Dictionary<string, string> MultiLangAttrs
        {
			get
			{
				return multiLangAttrs;
			}
        }
        public override  Dictionary<string, string> ExdMultiLangAttrs
        {
			get
			{
				return exdMultiLangAttrs;
			}
        }
        public override string Col_ID_Name
        {
			get
			{
				return col_ID_Name;
			}
        }  
        public override void IniData()
        {
			this.multiLangAttrs = new Dictionary<string, string>();
			this.exdMultiLangAttrs = new Dictionary<string, string>();
	
			this.col_ID_Name ="ID";
			this.exdMultiLangAttrs.Add("ID","ID");
			this.exdMultiLangAttrs.Add("CreatedOn","CreatedOn");
			this.exdMultiLangAttrs.Add("CreatedBy","CreatedBy");
			this.exdMultiLangAttrs.Add("ModifiedOn","ModifiedOn");
			this.exdMultiLangAttrs.Add("ModifiedBy","ModifiedBy");
			this.exdMultiLangAttrs.Add("SysVersion","SysVersion");
			this.exdMultiLangAttrs.Add("DocType","DocType");
			this.exdMultiLangAttrs.Add("DocNo","DocNo");
			this.exdMultiLangAttrs.Add("ShipDocNo","ShipDocNo");
			this.exdMultiLangAttrs.Add("ShipDoc","ShipDoc");
			this.exdMultiLangAttrs.Add("Customer","Customer");
			this.exdMultiLangAttrs.Add("DocDate","DocDate");
			this.exdMultiLangAttrs.Add("SaleWH","SaleWH");
			this.exdMultiLangAttrs.Add("IsZY","IsZY");
			this.exdMultiLangAttrs.Add("ZYCustomer","ZYCustomer");
			this.exdMultiLangAttrs.Add("SaleType","SaleType");
			this.exdMultiLangAttrs.Add("DocState","DocState");
			this.exdMultiLangAttrs.Add("Org","Org");
			this.exdMultiLangAttrs.Add("WH","WH");
			this.exdMultiLangAttrs.Add("Memo","Memo");
			this.exdMultiLangAttrs.Add("Dept","Dept");
			this.exdMultiLangAttrs.Add("CreditNoCheck","CreditNoCheck");
			this.exdMultiLangAttrs.Add("Credit","Credit");
			this.exdMultiLangAttrs.Add("ApproveMan","ApproveMan");
			this.exdMultiLangAttrs.Add("ApproveDate","ApproveDate");
			this.exdMultiLangAttrs.Add("UnApproveMan","UnApproveMan");
			this.exdMultiLangAttrs.Add("UnApproveDate","UnApproveDate");
			this.exdMultiLangAttrs.Add("TotalAmount","TotalAmount");
			this.exdMultiLangAttrs.Add("FinalCustomer","FinalCustomer");
			this.exdMultiLangAttrs.Add("Phone","Phone");
			this.exdMultiLangAttrs.Add("Address","Address");
			this.exdMultiLangAttrs.Add("TBDocNo","TBDocNo");
			this.exdMultiLangAttrs.Add("Agency","Agency");
			this.exdMultiLangAttrs.Add("GeneralAgency","GeneralAgency");
			this.exdMultiLangAttrs.Add("IsZT","IsZT");
			this.exdMultiLangAttrs.Add("TBAmount","TBAmount");
			this.exdMultiLangAttrs.Add("RebatesDate","RebatesDate");
			this.exdMultiLangAttrs.Add("TotalNo","TotalNo");
			this.exdMultiLangAttrs.Add("MDDocNo","MDDocNo");
			this.exdMultiLangAttrs.Add("GSCheck","GSCheck");
			this.exdMultiLangAttrs.Add("KHCheck","KHCheck");
			this.exdMultiLangAttrs.Add("MDMemo","MDMemo");
			this.exdMultiLangAttrs.Add("Reserved","Reserved");
        }
	#endregion 




		
		
		#region override SetTypeValue method(Use By UICommonCRUD OR Weakly Type Operation)
		public override void SetTypeValue(object propName, object value)
		{
			
			string propstr = propName.ToString();
			switch(propstr)
			{
			
																																																																																																																																	

				default:
					//调用基类的实现，最终Entity基类为SetValue()
					base.SetTypeValue(propName,value);
					return;
			}
		}
		#endregion


	


		#region EntityData exchange
		
		#region  DeSerializeKey -ForEntityPorpertyType
		//反序化Key到Data的ID中 --由FromEntityData自动调用一次。实际可以分离,由跨组织服务去调用.
		private void DeSerializeKey(SHFastShipData data)
		{
		
			

			

			

			

			

			

			if (data.DocType == -1 && data.DocType_SKey!=null)
				data.DocType = data.DocType_SKey.GetEntity().ID ;
	

			

			

			if (data.ShipDoc == -1 && data.ShipDoc_SKey!=null)
				data.ShipDoc = data.ShipDoc_SKey.GetEntity().ID ;
	

			if (data.Customer == -1 && data.Customer_SKey!=null)
				data.Customer = data.Customer_SKey.GetEntity().ID ;
	

			

			if (data.SaleWH == -1 && data.SaleWH_SKey!=null)
				data.SaleWH = data.SaleWH_SKey.GetEntity().ID ;
	

			

			if (data.ZYCustomer == -1 && data.ZYCustomer_SKey!=null)
				data.ZYCustomer = data.ZYCustomer_SKey.GetEntity().ID ;
	

			if (data.SaleType == -1 && data.SaleType_SKey!=null)
				data.SaleType = data.SaleType_SKey.GetEntity().ID ;
	

			if (data.Org == -1 && data.Org_SKey!=null)
				data.Org = data.Org_SKey.GetEntity().ID ;
	

			if (data.WH == -1 && data.WH_SKey!=null)
				data.WH = data.WH_SKey.GetEntity().ID ;
	

			

			if (data.Dept == -1 && data.Dept_SKey!=null)
				data.Dept = data.Dept_SKey.GetEntity().ID ;
	

			

			

			

			

			

			

			

			

			

			

			

			if (data.Agency == -1 && data.Agency_SKey!=null)
				data.Agency = data.Agency_SKey.GetEntity().ID ;
	

			if (data.GeneralAgency == -1 && data.GeneralAgency_SKey!=null)
				data.GeneralAgency = data.GeneralAgency_SKey.GetEntity().ID ;
	

			

			

			

			

			

			

			

			

			
	
			//Entity中没有EntityKey集合，不用处理。
		}
		
		#endregion 	
        public override void FromEntityData(UFSoft.UBF.Business.DataTransObjectBase dto)
        {
			SHFastShipData data = dto as SHFastShipData ;
			if (data == null)
				return ;
            this.FromEntityData(data) ;
        }

        public override UFSoft.UBF.Business.DataTransObjectBase ToEntityDataBase()
        {
            return this.ToEntityData();
        }
		/// <summary>
		/// Copy Entity From EntityData
		/// </summary>
		public void FromEntityData(SHFastShipData data)
		{
			this.FromEntityData(data,new Hashtable());
		}
		//used by ubf..
		public void FromEntityData(SHFastShipData data,IDictionary dict)
		{
			if (data == null)
				return;
			bool m_isNeedPersistable = this.NeedPersistable ;
			this.NeedPersistable = false ;
			
			//this.innerData.ChangeEventEnabled = false;
			//this.innerRelation.RelationEventEnabled = false;
				
			if (dict == null ) dict = new Hashtable() ;
			dict[data] = this;
			this.SysState = data.SysState ;
			DeSerializeKey(data);
			#region 组件外属性
		
			//ID与系统字段不处理 --Sysversion需要处理。

		
			//ID与系统字段不处理 --Sysversion需要处理。

		
			//ID与系统字段不处理 --Sysversion需要处理。

		
			//ID与系统字段不处理 --Sysversion需要处理。

		
			//ID与系统字段不处理 --Sysversion需要处理。

								this.SetTypeValue("SysVersion",data.SysVersion);
		
								this.SetTypeValue("DocType",data.DocType);
		
								this.SetTypeValue("DocNo",data.DocNo);
		
								this.SetTypeValue("ShipDocNo",data.ShipDocNo);
		
								this.SetTypeValue("ShipDoc",data.ShipDoc);
		
								this.SetTypeValue("Customer",data.Customer);
		
								this.SetTypeValue("DocDate",data.DocDate);
		
								this.SetTypeValue("SaleWH",data.SaleWH);
		
								this.SetTypeValue("IsZY",data.IsZY);
		
								this.SetTypeValue("ZYCustomer",data.ZYCustomer);
		
								this.SetTypeValue("SaleType",data.SaleType);
		
								this.SetTypeValue("Org",data.Org);
		
								this.SetTypeValue("WH",data.WH);
		
								this.SetTypeValue("Memo",data.Memo);
		
								this.SetTypeValue("Dept",data.Dept);
		
								this.SetTypeValue("CreditNoCheck",data.CreditNoCheck);
		
								this.SetTypeValue("Credit",data.Credit);
		
								this.SetTypeValue("ApproveMan",data.ApproveMan);
		
								this.SetTypeValue("ApproveDate",data.ApproveDate);
		
								this.SetTypeValue("UnApproveMan",data.UnApproveMan);
		
								this.SetTypeValue("UnApproveDate",data.UnApproveDate);
		
								this.SetTypeValue("TotalAmount",data.TotalAmount);
		
								this.SetTypeValue("FinalCustomer",data.FinalCustomer);
		
								this.SetTypeValue("Phone",data.Phone);
		
								this.SetTypeValue("Address",data.Address);
		
								this.SetTypeValue("TBDocNo",data.TBDocNo);
		
								this.SetTypeValue("Agency",data.Agency);
		
								this.SetTypeValue("GeneralAgency",data.GeneralAgency);
		
								this.SetTypeValue("IsZT",data.IsZT);
		
								this.SetTypeValue("TBAmount",data.TBAmount);
		
								this.SetTypeValue("RebatesDate",data.RebatesDate);
		
								this.SetTypeValue("TotalNo",data.TotalNo);
		
								this.SetTypeValue("MDDocNo",data.MDDocNo);
		
								this.SetTypeValue("GSCheck",data.GSCheck);
		
								this.SetTypeValue("KHCheck",data.KHCheck);
		
								this.SetTypeValue("MDMemo",data.MDMemo);
		
								this.SetTypeValue("Reserved",data.Reserved);
		
			#endregion 

			#region 组件内属性
	
					this.SetTypeValue("DocState",data.DocState);
	     

					if (data.SHFastShipLine != null)
			{	
				foreach(UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLineData obj in data.SHFastShipLine )
				{
					UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine child = dict[obj] as UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine;
					if (child == null)
					{
						if (obj.ID>0)
						{
							if (obj.SysState != UFSoft.UBF.PL.Engine.ObjectState.Inserted)
								child = (UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine)(new UFSoft.UBF.Business.BusinessEntity.EntityKey(obj.ID,obj.SysEntityType).GetEntity());
							if (child==null) child = (UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine)UFSoft.UBF.Business.Entity.CreateTransientObjWithKey(obj.SysEntityType,this,obj.ID,true) ;
						}
						else
						{
							 child = (UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine)UFSoft.UBF.Business.Entity.CreateTransientObjWithKey(obj.SysEntityType,this,null,true) ;
						}
						
						child.FromEntityData(obj,dict);
					}
					if (child.SysState == UFSoft.UBF.PL.Engine.ObjectState.Deleted)
					{
						this.SHFastShipLine.Remove(child);
						this.SHFastShipLine.DelLists.Add(child);
					}
					else
						this.SHFastShipLine.Add(child);
				}
			}
	     

			#endregion 
			this.NeedPersistable = m_isNeedPersistable ;
			dict[data] = this;
		}

		/// <summary>
		/// Create EntityData From Entity
		/// </summary>
		public SHFastShipData ToEntityData()
		{
			return ToEntityData(null,null);
		}
		/// <summary>
		/// Create EntityData From Entity - used by ubf 
		/// </summary>
		public SHFastShipData ToEntityData(SHFastShipData data, IDictionary dict){
			if (data == null)
				data = new SHFastShipData();
			
			if (dict == null ) dict = new Hashtable() ;
			//就直接用ID,如果不同实体会出现相同ID，则到时候要改进。? ID一定要有。
			dict["UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip"+this.ID.ToString()] = data;
		
			data.SysState = this.SysState ;
			#region 组件外属性 -BusinessEntity,"简单值对象",简单类型,多语言.不可能存在一对多.没有集合可能.
	    
			{
				object obj =this.GetValue("ID");
				if (obj != null)
					data.ID=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("CreatedOn");
				if (obj != null)
					data.CreatedOn=(System.DateTime)obj;
			}
	     
	    
			{
				object obj =this.GetValue("CreatedBy");
				if (obj != null)
					data.CreatedBy=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ModifiedOn");
				if (obj != null)
					data.ModifiedOn=(System.DateTime)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ModifiedBy");
				if (obj != null)
					data.ModifiedBy=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("SysVersion");
				if (obj != null)
					data.SysVersion=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("DocType");
				if (obj != null)
					data.DocType=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("DocNo");
				if (obj != null)
					data.DocNo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ShipDocNo");
				if (obj != null)
					data.ShipDocNo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ShipDoc");
				if (obj != null)
					data.ShipDoc=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Customer");
				if (obj != null)
					data.Customer=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("DocDate");
				if (obj != null)
					data.DocDate=(System.DateTime)obj;
			}
	     
	    
			{
				object obj =this.GetValue("SaleWH");
				if (obj != null)
					data.SaleWH=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("IsZY");
				if (obj != null)
					data.IsZY=(System.Boolean)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ZYCustomer");
				if (obj != null)
					data.ZYCustomer=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("SaleType");
				if (obj != null)
					data.SaleType=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Org");
				if (obj != null)
					data.Org=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("WH");
				if (obj != null)
					data.WH=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Memo");
				if (obj != null)
					data.Memo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Dept");
				if (obj != null)
					data.Dept=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("CreditNoCheck");
				if (obj != null)
					data.CreditNoCheck=(System.Boolean)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Credit");
				if (obj != null)
					data.Credit=(System.Decimal)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ApproveMan");
				if (obj != null)
					data.ApproveMan=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ApproveDate");
				if (obj != null)
					data.ApproveDate=(System.DateTime)obj;
			}
	     
	    
			{
				object obj =this.GetValue("UnApproveMan");
				if (obj != null)
					data.UnApproveMan=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("UnApproveDate");
				if (obj != null)
					data.UnApproveDate=(System.DateTime)obj;
			}
	     
	    
			{
				object obj =this.GetValue("TotalAmount");
				if (obj != null)
					data.TotalAmount=(System.Decimal)obj;
			}
	     
	    
			{
				object obj =this.GetValue("FinalCustomer");
				if (obj != null)
					data.FinalCustomer=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Phone");
				if (obj != null)
					data.Phone=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Address");
				if (obj != null)
					data.Address=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("TBDocNo");
				if (obj != null)
					data.TBDocNo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Agency");
				if (obj != null)
					data.Agency=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("GeneralAgency");
				if (obj != null)
					data.GeneralAgency=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("IsZT");
				if (obj != null)
					data.IsZT=(System.Boolean)obj;
			}
	     
	    
			{
				object obj =this.GetValue("TBAmount");
				if (obj != null)
					data.TBAmount=(System.Decimal)obj;
			}
	     
	    
			{
				object obj =this.GetValue("RebatesDate");
				if (obj != null)
					data.RebatesDate=(System.DateTime)obj;
			}
	     
	    
			{
				object obj =this.GetValue("TotalNo");
				if (obj != null)
					data.TotalNo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("MDDocNo");
				if (obj != null)
					data.MDDocNo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("GSCheck");
				if (obj != null)
					data.GSCheck=(System.Boolean)obj;
			}
	     
	    
			{
				object obj =this.GetValue("KHCheck");
				if (obj != null)
					data.KHCheck=(System.Boolean)obj;
			}
	     
	    
			{
				object obj =this.GetValue("MDMemo");
				if (obj != null)
					data.MDMemo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Reserved");
				if (obj != null)
					data.Reserved=(System.Boolean)obj;
			}
	     
			#endregion 

			#region 组件内属性 -Entity,"复杂值对象",枚举,实体集合.
	
			{
				object obj =this.GetValue("DocState");
				if (obj != null)
					data.DocState=System.Int32.Parse(obj.ToString());
			}
	
			if (this.SHFastShipLine != null)
			{	
				List<UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLineData> listSHFastShipLine = new List<UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLineData>();
				//必然要访问集合中实体。没办法直接去取实体里面的ID。
				foreach(UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine obj in this.SHFastShipLine ){
					if (obj == null)
						continue;
					UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLineData old = dict["UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLine"+obj.ID.ToString()] as UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShipLineData;
					listSHFastShipLine.Add((old != null) ? old : obj.ToEntityData(null, dict));
				}
				data.SHFastShipLine = listSHFastShipLine;
			}	

			#endregion 
			return data ;
		}

		#endregion
	



	
        #region EntityValidator 
	//实体检验： 含自身检验器检验，内嵌属性类型的检验以及属性类型上的校验器的检验。
        private bool SelfEntityValidator()
        {
        












































			//调用实体自身校验器代码.
            return true; 
        }
		//校验属性是否为空的检验。主要是关联对象的效验
		public override void SelfNullableVlidator()
		{
			base.SelfNullableVlidator();
		
			if (Convert.ToInt64(base.GetValue("DocType")) == UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag){
				UFSoft.UBF.Business.AttributeInValidException DocType_Exception = new UFSoft.UBF.Business.AttributeInValidException("UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip","DocType","6c28df80-f210-4bf7-99e2-861a6ca48d49");
				if (UFSoft.UBF.PL.Tool.ConfigParm.SupportNullableVlidatorStackTrace)
					DocType_Exception.MyStackTrace =  new System.Diagnostics.StackTrace(true).ToString();
				this.PropertyExceptions.Add(DocType_Exception);
			}

			if (string.IsNullOrEmpty((string)base.GetValue("DocNo"))){
				UFSoft.UBF.Business.AttributeInValidException DocNo_Exception =new UFSoft.UBF.Business.AttributeInValidException("UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip","DocNo","d6ff2a3e-1e17-4b2c-9963-ec3b32630884");
				if (UFSoft.UBF.PL.Tool.ConfigParm.SupportNullableVlidatorStackTrace)
					DocNo_Exception.MyStackTrace =  new System.Diagnostics.StackTrace(true).ToString();
				this.PropertyExceptions.Add(DocNo_Exception);
			}

			if (Convert.ToInt64(base.GetValue("Customer")) == UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag){
				UFSoft.UBF.Business.AttributeInValidException Customer_Exception = new UFSoft.UBF.Business.AttributeInValidException("UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip","Customer","1019a213-4c71-47f1-8ac9-36a3ec4f2ca4");
				if (UFSoft.UBF.PL.Tool.ConfigParm.SupportNullableVlidatorStackTrace)
					Customer_Exception.MyStackTrace =  new System.Diagnostics.StackTrace(true).ToString();
				this.PropertyExceptions.Add(Customer_Exception);
			}

			if (Convert.ToDateTime(base.GetValue("DocDate")) == UFSoft.UBF.PL.Tool.Constant.DateTime_Null_Flag){
				UFSoft.UBF.Business.AttributeInValidException DocDate_Exception =new UFSoft.UBF.Business.AttributeInValidException("UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip","DocDate","98b38ab6-1afc-4183-b115-5d5b9273e6bd");
				if (UFSoft.UBF.PL.Tool.ConfigParm.SupportNullableVlidatorStackTrace)
					DocDate_Exception.MyStackTrace =  new System.Diagnostics.StackTrace(true).ToString();
				this.PropertyExceptions.Add(DocDate_Exception);
			}
			if (Convert.ToInt64(base.GetValue("Dept")) == UFSoft.UBF.PL.Tool.Constant.ID_NULL_Flag){
				UFSoft.UBF.Business.AttributeInValidException Dept_Exception = new UFSoft.UBF.Business.AttributeInValidException("UFIDA.U9.Cust.SH.SHFastShipBE.SHFastShip","Dept","225959ce-77c1-4ae5-a8d0-5a15cfee7d1c");
				if (UFSoft.UBF.PL.Tool.ConfigParm.SupportNullableVlidatorStackTrace)
					Dept_Exception.MyStackTrace =  new System.Diagnostics.StackTrace(true).ToString();
				this.PropertyExceptions.Add(Dept_Exception);
			}

			
		}
			    
	#endregion 
	
	
		#region 应用版型代码区
		#endregion 


	}	
}